The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
Changes 012
META.yml 22
SIGNATURE 77
lib/Params/Classify.pm 11
lib/Params/Classify.xs 39
5 files changed (This is a version diff) 1331
@@ -1,3 +1,15 @@
+version 0.013; 2010-11-16
+
+  * bugfix: avoid triggering a core assertion on debugging builds,
+    by using OP_NULL as a stalking-horse opcode instead of OP_PUSHMARK
+    (nothing actually broke apart from the assertion)
+
+  * provide reserve definition of Newx(), to allow compilation on
+    non-threaded Perls prior to 5.8.8
+
+  * avoid a compiler warning from the reserve implementation of the
+    ptr_table data structure
+
 version 0.012; 2010-11-03
 
   * generate custom ops for most functions, to avoid heavyweight function
@@ -25,7 +25,7 @@ name: Params-Classify
 provides:
   Params::Classify:
     file: lib/Params/Classify.pm
-    version: 0.012
+    version: 0.013
 recommends:
   XSLoader: 0
 requires:
@@ -37,4 +37,4 @@ requires:
   warnings: 0
 resources:
   license: http://dev.perl.org/licenses/
-version: 0.012
+version: 0.013
@@ -16,14 +16,14 @@ Hash: SHA1
 
 SHA1 2f6a77cc1af0bc60cf87ec5335a995defa3e6eaf .cvsignore
 SHA1 a433f32fb0d0334e4001ec04741f776c4199379d Build.PL
-SHA1 6acda908ccc73cdf8ec93f718a4bb84335b66c43 Changes
+SHA1 22cbe81208a74303ace05ff63a9243c3cb87221d Changes
 SHA1 2e0cd1c1b78fb8591fde383f023acb4a579cb4dc MANIFEST
-SHA1 3a0a4ad2c57fd4a1c740cd20e5b341df5b6a9dba META.yml
+SHA1 1463aa8b2d472d2dca1d6f601e28e874ef95e502 META.yml
 SHA1 0e23f901a8f88cc5f8fd6f9aa29c9122db1c00e4 Makefile.PL
 SHA1 00ef56b107920b1bb435a80247d50dded3c1eace README
 SHA1 91978573e906c90b93752e0733ef8e875f0d1b89 lib/Params/.cvsignore
-SHA1 d5d5865970029b1fb93a59b2ee3147b77a5dfebb lib/Params/Classify.pm
-SHA1 c10b0ebb729e38528d846d08069d83981aba7639 lib/Params/Classify.xs
+SHA1 615202f9e823f139fbfcb4fe46fc7cc8989da9b0 lib/Params/Classify.pm
+SHA1 40b5ef7d1c03d951912097973ecd6b2e095a3c32 lib/Params/Classify.xs
 SHA1 497c90b7b470f8c3a4594265c4a97376000fc2aa t/blessed.t
 SHA1 a3d9a389510faf3bfecb4860a14813988a0eddcd t/blessed_pp.t
 SHA1 e05666c5b2480ce441116ff26e55fa5bb07fb741 t/check.t
@@ -41,7 +41,7 @@ SHA1 97157325ac601fe786026cdc319f958c8ea785ae t/setup_pp.pl
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.9 (GNU/Linux)
 
-iEYEARECAAYFAkzRoMYACgkQOV9mt2VyAVE/6QCdF/6/65IjUdam+piWEsoILSz8
-/jYAnRXLN7sj4WoJRoYN9ELuaa9JXsSU
-=KyQJ
+iEYEARECAAYFAkzi6yMACgkQOV9mt2VyAVE+hQCeOJemX8bpRvhEK7XBeB3YBmkF
+ZhIAoI/InODHqUDzt2Aryvc6tZH1SFNb
+=kZIC
 -----END PGP SIGNATURE-----
@@ -78,7 +78,7 @@ package Params::Classify;
 use warnings;
 use strict;
 
-our $VERSION = "0.012";
+our $VERSION = "0.013";
 
 use parent "Exporter";
 our @EXPORT_OK = qw(
@@ -17,6 +17,10 @@
 # define PERL_UNUSED_ARG(x) PERL_UNUSED_VAR(x)
 #endif /* !PERL_UNUSED_ARG */
 
+#ifndef Newx
+# define Newx(v,n,t) New(0,v,n,t)
+#endif /* !Newx */
+
 #ifndef HvNAME_get
 # define HvNAME_get(hv) HvNAME(hv)
 #endif
@@ -56,7 +60,8 @@ static PTR_TBL_t *THX_ptr_table_new(pTHX)
 	return tbl;
 }
 
-# define ptr_table_free(tbl) THX_ptr_table_free(aTHX_ tbl)
+# if 0
+#  define ptr_table_free(tbl) THX_ptr_table_free(aTHX_ tbl)
 static void THX_ptr_table_free(pTHX_ PTR_TBL_t *tbl)
 {
 	struct q_ptr_tbl_ent *ent = *tbl;
@@ -67,6 +72,7 @@ static void THX_ptr_table_free(pTHX_ PTR_TBL_t *tbl)
 		ent = nent;
 	}
 }
+# endif /* 0 */
 
 # define ptr_table_store(tbl, from, to) THX_ptr_table_store(aTHX_ tbl, from, to)
 static void THX_ptr_table_store(pTHX_ PTR_TBL_t *tbl, void *from, void *to)
@@ -637,7 +643,7 @@ static OP *myck_entersub(pTHX_ OP *op)
 		pushop->op_sibling = bop;
 		aop->op_sibling = NULL;
 		op_free(op);
-		op = newUNOP(OP_PUSHMARK, 0, aop);
+		op = newUNOP(OP_NULL, 0, aop);
 		op->op_type = OP_RAND;
 		op->op_ppaddr = ppfunc;
 		op->op_private = (U8)cvflags;
@@ -665,7 +671,7 @@ static OP *myck_entersub(pTHX_ OP *op)
 		aop->op_sibling = NULL;
 		bop->op_sibling = NULL;
 		op_free(op);
-		op = newBINOP(OP_PUSHMARK, 0, aop, bop);
+		op = newBINOP(OP_NULL, 0, aop, bop);
 		op->op_type = OP_RAND;
 		op->op_ppaddr = ppfunc;
 		op->op_private = (U8)cvflags;